﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Carozos.BC;
using Carozos.BE;

namespace Carozos.Web
{
    public partial class frmProveedor : System.Web.UI.Page
    {
        ProveedorBC proBC = new ProveedorBC();

        protected void btnRegistra_Click(object sender, ImageClickEventArgs e)
        {
            bool rpta;
            ProveedorBE proBE;
            if (CbEsEmpresa.Checked)
                proBE = new ProveedorBE(" "," ",txtRazonSocial.Text, txtRUC.Text, txtTelefono.Text,txtDireccion.Text);
            else
                proBE = new ProveedorBE(txtNombre.Text, txtDNI.Text, " ", " ", txtTelefono.Text, txtDireccion.Text);
            rpta = proBC.registrarProveedor(proBE);
            if (rpta == true)
                lblMensaje.Text = "Proveedor Registrado !!";
            else
                lblMensaje.Text = "Ocurrió un Problema !!";
            lblMensaje.Visible = true;
        }

        protected void CbEsEmpresa_CheckedChanged(object sender, EventArgs e)
        {
            if (CbEsEmpresa.Checked)
            {
                lblNombre.Enabled = false;
                txtNombre.Enabled = false;
                lblDNI.Enabled = false;
                txtDNI.Enabled = false;
                lblRazonSocial.Enabled = true;
                txtRazonSocial.Enabled = true;
                lblRUC.Enabled = true;
                txtRUC.Enabled = true;
            }
            else
            {
                lblNombre.Enabled = true;
                txtNombre.Enabled = true;
                lblDNI.Enabled = true;
                txtDNI.Enabled = true;
                lblRazonSocial.Enabled = false;
                txtRazonSocial.Enabled = false;
                lblRUC.Enabled = false;
                txtRUC.Enabled = false;
            }
            limpiar();
        }

        public void limpiar()
        {
            txtNombre.Text = "";
            txtDNI.Text = "";
            txtRazonSocial.Text = "";
            txtRUC.Text = "";
            txtTelefono.Text = "";
            txtDireccion.Text = "";
            lblMensaje.Visible = false;
        }

        protected void btnActualiza_Click(object sender, ImageClickEventArgs e)
        {
            if (Session["codProveedor"] != null)
            {
                bool rpta;
                ProveedorBE proBE;
                if (CbEsEmpresa.Checked)
                    proBE = new ProveedorBE(" ", " ", txtRazonSocial.Text, txtRUC.Text, txtTelefono.Text, txtDireccion.Text);
                else
                    proBE = new ProveedorBE(txtNombre.Text, txtDNI.Text, " ", " ", txtTelefono.Text, txtDireccion.Text);
                proBE.codigo = (int)Session["codProveedor"];
                rpta = proBC.actualizarProveedor(proBE);
                if (rpta == true)
                    lblMensaje.Text = "Proveedor Actualizado !!";
                else
                    lblMensaje.Text = "Ocurrió un Problema !!";
                lblMensaje.Visible = true;
            }
        }

        protected void btnElimina_Click(object sender, ImageClickEventArgs e)
        {
            if (Session["codProveedor"] != null)
            {
                bool rpta;
                rpta = proBC.eliminaProveedor((int)Session["codProveedor"]);
                if (rpta == true)
                    lblMensaje.Text = "Proveedor Eliminado !!";
                else
                    lblMensaje.Text = "Ocurrió un Problema !!";
                limpiar();
                lblMensaje.Visible = true;
            }
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            //Sesión que nos permite reconocer de que formulario viene el llamado a la búsqueda
            Session["codFrmProveedor"] = 1;

            //Sesión que tiene datos del proveedor.
            if (Session["proveedor"] != null)
            {
                ProveedorBE pro = Session["proveedor"] as ProveedorBE;
                //Sesión que tiene el codigo del proveedor.
                Session["codProveedor"] = pro.codigo;
                txtDireccion.Text = pro.direccion;
                txtTelefono.Text = pro.telefono;
                if (pro.nombre==" ")
                {
                    CbEsEmpresa.Checked = true;
                    txtRazonSocial.Text = pro.razonSocial;
                    txtRazonSocial.Enabled = true;
                    txtRUC.Text = pro.ruc;
                    txtRUC.Enabled = true;
                    txtNombre.Text = " ";
                    txtNombre.Enabled = false;
                    txtDNI.Text = " ";
                    txtDNI.Enabled = false;
                }
                if (pro.razonSocial== " ")
                {
                    CbEsEmpresa.Checked = false;
                    txtRazonSocial.Text = " ";
                    txtRazonSocial.Enabled = false;
                    txtRUC.Text = " ";
                    txtRUC.Enabled = false;
                    txtNombre.Text = pro.nombre;
                    txtNombre.Enabled = true;
                    txtDNI.Text = pro.dni;
                    txtDNI.Enabled = true;
                }
                Session["proveedor"] = null;
            }
        }
    }
}